フルスタックエンジニアのノウハウ
2021.03.04    2022.06.11

データ型とは?

この記事の動画版はこちら(画像クリックでYoutubeに飛びます)

チャンネル登録お願いします!


データ型とは?


プログラミングにおける「データ型」とは、「データの種類」のことです。


プログラミングで扱うデータには、「りんご」のような「文字列データ」や「1」のような「数値データ」「2021/3/1」のような「日付データ」など、様々な種類のデータがあります。




こういったデータの種類のことを「データ型」または、単に「型」と言います。


データ型には色々な種類があり、例えば、



のように分類されます。



なぜデータ型が必要?


プログラムの中でデータを扱う際には、そのデータが「どんな種類のものなのか」をあらかじめ指定します。


例えば、プログラムの中で、データを入れておく箱である「変数」を使う場合、


「この変数にはこの種類のデータを格納するよ」


ということをあらかじめ指定しておきます。


そうすることで、プログラムに正しく計算をさせることが出来ます。


例えば、数値型の「1」と「2」を足し算すると「3」という結果になりますが、



文字列型の「1」と「2」を足し算すると、



1という文字と、2という文字が連結されて「12」という文字になってしまいます。


このように、データ型が正しく指定されていないと想定外の処理結果になってしまう可能性があります。



また、データベースを作る際も、データベース(テーブル)の各項目には


「どんな種類のデータを格納するのか」


をあらかじめ指定します。


例えば、ユーザー情報を保存するテーブルがあったとして、


ユーザーの名前を保存する項目は「文字列型」

誕生日を保存する項目なら「日付型」

年齢を保存する項目なら「数値型」


といった感じですね。



格納するデータの種類をあらかじめ決めておくことで、想定外の形式のデータが登録されないように制限することが出来ます。



データ型にはどんなものがある?


プログラミング言語の違いや、データベースの種類によって、用意されているデータ型の種類や呼び方には違いがありますが、基本的なデータ型としてはこのようなものがあります。


文字列型
文字や文字列を表すデータ型です。


数値型(整数/小数)
数値を表すデータ型です。数値型にはさらに、整数を表す型と、小数を表す型があります。


論理型
YESかNOかを表すデータ型です。
ブーリアン型や真偽値とも呼ばれます。
ONかOFFか、YESかNOか、0か1か、真か偽か。といったフラグ系のデータによく使われます。


日付型/日付時刻型
日付や時刻を表すデータ型です。


バイナリ型
ファイルのデータや画像データなど、バイナリ形式のデータを表すデータ型です。


配列型
複数のデータを一度に格納出来る配列を表すデータ型です。


関連記事

配列とは?


オブジェクト型
プログラムの中で定義されたクラスなどを表すデータ型です。


関連記事

今日こそオブジェクト指向を理解する


このように、データ型には様々な種類があります。


実際には、使うプログラミング言語やデータベースによって用意されている型が異なりますので、

詳細は言語リファレンスなどを確認してみてください。


例えば、PHP言語ではこのような10種類のデータ型が用意されています。




データ型の宣言


先ほど、プログラムの中でデータを扱う際には、そのデータが「どんな種類のものなのか」をあらかじめ指定する。と言いましたが、プログラミング言語によってはそれを行わなくてもよい言語もあります。


例えば、PHP、Ruby、Python、JavaScriptなどのプログラミング言語では、変数を使う際にデータ型を指定(宣言)する必要がありません。


変数に入れたデータによって、内部的にデータ型を自動判定してくれます。


逆に、CやJavaなどの言語では、変数を作る際には必ずデータ型を宣言しなくてはいけません。


この辺りは、PHPやRubyが初心者にも扱いやすい言語と言われる理由の1つだと思います。


ただ、プログラミングが手軽に行える反面、内部的に思わぬデータ型に変換されてしまい、それが原因でバグが発生してしまうこともあるので、どのような言語を使う場合もデータ型を意識しておくことはとても大切なんです。



まとめ


ということで、今回は「データ型とは何か?」ということについて解説しましたが、いかがだったでしょうか?


まとめると、


①データ型とは「データの種類」のこと。

②データ型を指定することで、プログラムに正しく計算をさせたり、格納するデータを制限することが出来る。

③データ型には、文字列型/数値型/論理型など様々なものがあり言語によって異なる。

④PHPなどの言語ではデータ型を事前に宣言しなくてもよい。

⑤ただし、データ型は常に意識しておくことが大切。


ということでした。是非、参考にしてみてください。


おすすめ記事